﻿namespace DotNetStar.OpenSDK.OAuth
{
    /// <summary>
    /// 表示使用 OAuth2.0 认证授权的配置信息。
    /// </summary>
    public class OAuthConfig : ClientConfig
    {
        /// <summary>
        /// 初始化 <see cref="OAuthConfig"/> 类的新实例。
        /// </summary>
        /// <param name="clientId">由开放平台分配的客户端应用唯一编号。</param>
        /// <param name="clientKey">由开放平台分配的客户端应用密钥字符串。</param>
        /// <param name="redirectUri">回调地址。系统自动会给 url 加上 UrlEncode 方法。</param>
        public OAuthConfig(string clientId, string clientKey, string redirectUri)
            : base(clientId, clientKey) => this.RedirectUri = SDK.UrlEncode(redirectUri);

        /// <summary>
        /// 获取已经被 UrlEncode 的回调地址。
        /// </summary>
        public string RedirectUri { get; }
    }
}
